package org.jeecg.modules.wms.service;

import org.jeecg.modules.wms.vo.SurplusMaterialVO;

import java.util.List;

/**
 * 余料服务接口
 */
public interface ISurplusMaterialService {
    
    /**
     * 根据订单ID获取余料信息
     *
     * @param orderId 订单ID
     * @return 余料信息列表
     */
    List<SurplusMaterialVO> getSurplusMaterialsByOrderId(String orderId);
    
    /**
     * 统计并分组余料
     * 
     * @param surplusMaterials 原始余料列表
     * @return 分组后的余料列表
     */
    List<SurplusMaterialVO> processAndGroupSurplusMaterials(List<SurplusMaterialVO> surplusMaterials);
    
    /**
     * 根据余料下限过滤余料信息
     * 
     * @param surplusMaterials 原始余料列表
     * @return 过滤后的余料列表（只保留大于余料下限的余料）
     */
    List<SurplusMaterialVO> filterSurplusByLowerLimit(List<SurplusMaterialVO> surplusMaterials);
    
    /**
     * 获取订单的有效余料信息（已过滤余料下限）
     * 
     * @param orderId 订单ID
     * @return 有效余料信息列表
     */
    List<SurplusMaterialVO> getValidSurplusMaterialsByOrderId(String orderId);
}